package cn.kgc.javase.day03;

/**
 * @author 课工场
 * @date 2024/6/27
 * @description java中的运算符号
 * 分类：
 * 1.逻辑运算
 * 2.算术运算
 *   +  -  *   /  %取余   ++  --
 *
 *     总结：
 *       1.  byte  short 类型的变量在参与运算时 会先将数据类型转换成int类型  然后再参与运算 所有在接收结果时需要使用int类型接收
 *       2. 有大范围数据类型参与运算时 运算的结果自动转换成大类型的数据类型
 *       3. 参与运算的变量全部整型的变量时  最终结果还是整型   3/2   -> 1.5     1
 *
 * 3.复合运算
 *       +=  -= *=  /=  %=
 * 4.赋值运算
 * =
 * 5.关系运算符  比较
 *
 * 6.条件运算符   三目运算
 * <p>
 * byte  short  int long  float  double
 * <p>
 * <p>
 * java中的数学运算  结果的类型 取决于参与运算的变量的类型
 */
public class Demo02 {

    public static void main(String[] args) {

        /*
         * 算术运算符     赋值运算  =          在程序中写的整型的值 默认都是int类型
         *   在 byte short 类型变量允许的范围内 可以将整型的数值直接赋值赋给 byte  short类型的变量  隐式数据类型准换
         * */
        byte num1 = 4;
        byte num2 = 3;
        short num3 = 2;

        int number4 = 4;
        System.out.println("number4 = " + number4);

        //  int  4  double  8
        double d1 = 2;
        System.out.println("d1 = " + d1);
        // byte result = num1 + num2;

        int result = num1 + num2;
        System.out.println(" 1+3 = " + result);
        // short  result2 = num2 + num3;

        result = num2 + num3;
        System.out.println("3+2 = " + result);

        result = num2 - num1;
        System.out.println("3-1 = " + result);

        result = num2 * num3;
        System.out.println("3*2 = " + result);

        // int / int  ->   int
        result = num2 / num3;  // 1.5
        System.out.println(" 3/2 =  " + result);

        //  int  /  double    -> double
        double result2 = num2 / d1;
        System.out.println("result2 = " + result2);

        //  1%3
        result = num1 % num2;
        System.out.println("result = " + result);




        /*
        * ++   自增1
        *  ++ 在使用时 可以在变量前 也可以在变量后
        *  number4++;
        *  ++number4；
        *  以上n两种写法  如果不参与运算没有区别  如果参与运算
        *       number4++  则变量先参与运算然后再自增
        *       ++number4  则变量先自增然后再参与运算
        * */
        // number4 = number4 +1;
        // number4++;
        // ++number4;
        // System.out.println("number4 = " + number4);
        // System.out.println("number4++ =  " + (number4++));
        System.out.println("number4++ =  " + (++number4));

        // --    自减1
        // number4 = number4 -1;
        // number4--;
        // --number4;
        // System.out.println("number4 = " + number4);


    }
}
